package main

import (
	"fmt"
	"os"
)

// 学生管理系统
var students = make(map[int64]*Student, 10)

// 能够查看  新增  删除学生

func main() {
	for {
		showMenu()
		var menu int
		scan(&menu)
		switch menu {
		case 1:
			showAllStudent()
		case 2:
			AddStudent()
		case 3:
			delStudent()
		case 4:
			os.Exit(1)
		default:
			fmt.Println("滚！臭傻逼！")
		}
	}

}

func delStudent() {
	var id int64
	fmt.Print("请输入学生 ID：")
	_, err := fmt.Scanln(&id)
	if err != nil {
		return
	}
	delete(students, id)
}

func AddStudent() {
	var (
		id   int64
		name string
		age  int
	)
	fmt.Print("请输入学生 ID 姓名 年龄：")
	_, err := fmt.Scanln(&id, &name, &age)
	if err != nil {
		return
	}

	students[id] = &Student{
		id:   id,
		name: name,
		age:  age,
	}
}

func showAllStudent() {
	// 遍历所有学生并打印
	for id, item := range students {
		fmt.Printf("%d,学生姓名：%s,年龄：%d\n", id, item.name, item.age)
	}
}

func scan(name *int) {
	_, err := fmt.Scanln(name)
	if err != nil {
		return
	}
}

// Student 定义学生的结构体
type Student struct {
	id   int64
	name string
	age  int
}

func showMenu() {
	fmt.Print(`
欢迎光临学生管理系统：
1.查看所有学生
2.新增学生
3.删除学生
4.退出
请输入：`)
}
